package com.xlh.service;

import com.xlh.dto.course.ZtreeDTO;

import java.util.List;

/**
 * 课程数据转换工具
 * <p>
 * Created by lx on 2019/11/26.
 */
public interface ConvertToolService {

    /**
     * 获取远程服务器与现在数据库课程及章节对比
     *
     * @param remoteDBIp       远程数据库ip
     * @param remoteDBPort     远程数据库端口号
     * @param remoteDBName     远程数据库库名
     * @param remoteDBUser     远程数据库用户名
     * @param remoteDBPassword 远程数据库密码
     * @return
     */
    List<ZtreeDTO> queryRemoteCourseChapterZtree(
            String remoteDBIp, String remoteDBPort, String remoteDBName, String remoteDBUser, String remoteDBPassword);

    /**
     * 导入课程
     *
     * @param remoteDBIp          远程数据库ip
     * @param remoteDBPort        远程数据库端口号
     * @param remoteDBName        远程数据库库名
     * @param remoteDBUser        远程数据库用户名
     * @param remoteDBPassword    远程数据库密码
     * @param remoteIp            远程服务器ip
     * @param remoteUser          远程服务器用户名
     * @param remotePassword      远程服务器密码
     * @param remotePort          远程服务器ssh端口号
     * @param remoteResourcesPath 远程服务器静态资源地址
     * @param ids                 远程服务器章节id集合
     * @param userId              用户id
     */
    void importCourse(
            String remoteDBIp, String remoteDBPort, String remoteDBName, String remoteDBUser, String remoteDBPassword,
            String remoteIp, String remoteUser, String remotePassword, Integer remotePort,
            String remoteResourcesPath, List<Long> ids, Long userId);

    void importCourseAndSendMessage(
            String remoteDBIp, String remoteDBPort, String remoteDBName, String remoteDBUser, String remoteDBPassword,
            String remoteIp, String remoteUser, String remotePassword, Integer remotePort,
            String remoteResourcesPath, List<Long> ids, Long userId);

    /**
     * 清库
     */
    void cleanDB();

}
